package com.flower8.service;

import com.flower8.dto.ActiveAwardlogDto;
import com.flower8.utils.PageData;

import java.util.List;
import java.util.Map;

/**
 * @Description: 数据统计
 * @Author: tanglin
 * @Date: 2019/09/26 17:08
 * @Version: 1.0
 */
public interface DataStatistService {

    /**
     * 统计抢红包分布情况
     * @return
     * @throws Exception
     */
    List<Map> getRedPagData() throws Exception;

    /**
     * 统计大转盘抽奖分布情况
     * @return
     * @throws Exception
     */
    List<Map> getBigWheelData() throws Exception;

    /**
     * 统计总数量
     * @return
     * @throws Exception
     */
    Map getDataTotal() throws Exception;

    /**
     * 查询红包明细
     * @param pd
     * @return
     * @throws Exception
     */
    List<ActiveAwardlogDto> getRedPagDetail(PageData pd)throws Exception;

    /**
     * 查询红包明细数量
     * @param pd
     * @return
     * @throws Exception
     */
    int getRedPagDetailCount(PageData pd)throws Exception;

    /**
     * 查询红包明细总次数和总金额
     * @param pd
     * @return
     * @throws Exception
     */
    Map getRedPagDetailTotal(PageData pd)throws Exception;

    /**
     * 查询大转盘明细
     * @param pd
     * @return
     * @throws Exception
     */
    List<ActiveAwardlogDto> getBigWheelDetail(PageData pd)throws Exception;

    /**
     * 查询大转盘明细数量
     * @param pd
     * @return
     * @throws Exception
     */
    int getBigWheelDetailCount(PageData pd)throws Exception;

    /**
     * 查询大转盘明细总次数和总金额
     * @param pd
     * @return
     * @throws Exception
     */
    Map getBigWheelDetailTotal(PageData pd)throws Exception;

    /**
     * 获取注册人数统计
     * @param pd
     * @return
     * @throws Exception
     */
    List<Map> registerData(PageData pd)throws Exception;

    /**
     * 查询发红包列表
     * @param pd
     * @return
     * @throws Exception
     */
    List<Map> getRedbagList(PageData pd)throws Exception;

    /**
     * 查询发红包列表数量
     * @param pd
     * @return
     * @throws Exception
     */
    int getRedbagListCount(PageData pd)throws Exception;

    /**
     * 获取发红包总人数
     * @param pd
     * @return
     * @throws Exception
     */
    Map getRedbagTotal(PageData pd)throws Exception;

}
